package site.eblog.dao;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;

import site.eblog.entity.User;
import site.eblog.entity.Article;

public interface ArticleMapper {
	/**
	 * 用name在articles表中查找该user的文章数
	 * @param user
	 * @return
	 */
	public int getArticlesByName(String userName);
	
	/**
	 * 用name在articles表中查找该user的原创文章数
	 * @param user
	 * @return
	 */
	public int getYCArticlesByName(String userName);
	
	/**
	 * 按author添加文章
	 * @param article
	 * @return
	 */
	public int addArticle(Article article);
	
	/**
	 * 用author在articles表中查找该user的文章
	 * @param author
	 * @return
	 */
	public List<Article> getArticleByAuthor(Article article);
	
	/**
	 * 按idget一篇article
	 * @param id
	 * @return
	 */
	public Article getArticleById(String id);
	
	/**
	 * 按id来更新文章
	 * @param article
	 * @return
	 */
	public int upDateArticle(Article article);
	
	/**
	 * 按id删除文章
	 * @param id
	 * @return
	 */
	public int delArticle(int id);
	
	/**
	 * 批量删除article
	 * @param list
	 * @return
	 */
	public int batchDelArticle(String[] ArrayList);
	
	/**
	 * 我的文章搜索
	 * @param map
	 * @return
	 */
	public List<Article> articleSelect(Map<String,String> map);
	
	/**
	 * 按照阅读次数的降序来查找
	 * @return
	 */
	public List<Article> readTop(@Param("author")String author);
	
	/**
	 * 按推荐次数降序查找
	 * @return
	 */
	public List<Article> tuijianTop(@Param("author")String author);
	
	/**
	 * 按title来查找文章
	 * @param title
	 * @return
	 */
	public List<Article> searchArticleByTitle(@Param("title")String title);
	
	/**
	 * 更新readN
	 * @param map
	 * @return
	 */
	public int upDateReadNById(Map<String,Object> map);
	
	/**
	 * 更新推荐数跟推荐人
	 * @param map
	 * @return
	 */
	public int upDateRecommendNById(Map<String,Object> map);
	
	/**
	 * webService接口获取所有文章
	 * @return
	 */
	public List<Article> webServiceGetArticle();
}
